//package com.rest.demo.Controller;
//
//
//import com.rest.demo.repository.PostDTO;
//import com.rest.demo.Service.RequestURLServiceImpl;
//
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import java.net.URI;
//import java.util.Map;
//
//@Controller
//@RequestMapping("/request")//整个路由路径
//@Slf4j
//public class RequestController {
//
//    @Autowired
//    private RequestURLServiceImpl requestURLService;//定义一个RequestURLServiceImpl服务层
//
//
//    ///get请求【getForObject】
//    @RequestMapping("/cityid/{cityid}")//参数定义
//    @ResponseBody
//    public String getWeatherResponseById(@PathVariable("cityid") String cityid) {
//        String str = requestURLService.WeatherInfo(cityid);
//        return str;
//    }
//
//    @RequestMapping("/Id/{Id}")
//    @ResponseBody
//    public String getDymw(@PathVariable("Id") String Id) {
//        String str = requestURLService.Dycmy(Id);
//        return str;
//    }
//
//    //    使用ResponseEntity<T> responseEntity来接收响应结果。用responseEntity.getBody()获取响应体。
////    响应体内容同getForObject方法返回结果一致。剩下的这些响应信息就是getForEntity比getForObject多出来的内容。
////    HttpStatus statusCode = responseEntity.getStatusCode(); 获取整体的响应状态信息
////    int statusCodeValue = responseEntity.getStatusCodeValue(); 获取响应码值
////    HttpHeaders headers = responseEntity.getHeaders(); 获取响应头等
//    ///get请求【getForEntity】
//    @RequestMapping("/getForEntity")
//    @ResponseBody
//    public PostDTO getForEntity() {
//        PostDTO str = requestURLService.getForEntityPoJo();
//        return str;
//    }
//
//
//    ///Post请求【postForObject】
//    @RequestMapping("/postman")
//    @ResponseBody
//    public PostDTO postman() {
//        PostDTO str = requestURLService.getForObjectJSON();//一个PostDTO数据，通过postForObject方式进行获取
//        log.info(str.getBody());//获取getBody部分的数据
//        return str;//返回数据到页面上
//    }
//
//    //postForObject发送JSON格式请求
//
//    @RequestMapping("/postman2")
//    @ResponseBody
//    public PostDTO postman2() {
//        PostDTO str = requestURLService.postForObjectW();//
//        log.info(str.getBody());//获取getBody部分的数据
//        return str;//返回数据到页面上
//    }
//
//
//    //postForObject模拟表单数据提交
//
//    @RequestMapping("/postForObjectForm")
//    @ResponseBody
//    public String postForObjectForm() {
//        String str = requestURLService.postForObjectForm();//
//        return str;//返回数据到页面上
//    }
//
////postForEntity()方法
//
//    @RequestMapping("/postForEntity")
//    @ResponseBody
//    public Map<String, Object> postForEntity() {
//        Map<String, Object> str = requestURLService.postForEntity();//
//        return str;//返回数据到页面上
//    }
//
//    //postForLocation()方法
//
//    @RequestMapping("/postForLocation")
//    @ResponseBody
//    public URI postForLocation() {
//        URI str = requestURLService.postForLocation();//
//        return str;//返回数据到页面上
//    }
//
//
//    //////以数组的方式接收请求结果
//
//    @RequestMapping("/postman3")
//    @ResponseBody
//    public PostDTO[] postman3() {
//        PostDTO[] str = requestURLService.postForObjectArray();//
//        log.info(String.valueOf(str.length));//获取getBody部分的数据
//        return str;//返回数据到页面上
//    }
//
//    //使用占位符号传参的几种方式
//    @RequestMapping("/postman4")
//    @ResponseBody
//    public PostDTO postman4() {
//        PostDTO str = requestURLService.postForObjectParameter();//
//        return str;//返回数据到页面上
//    }
//
//
//    //另一种使用占位符的形式：
//    @RequestMapping("/postman5")
//    @ResponseBody
//    public PostDTO postman5() {
//        PostDTO str = requestURLService.postForObjectParameter2();//
//        return str;//返回数据到页面上
//    }
//
//    //使用 map 装载参数
//    @RequestMapping("/postman6")
//    @ResponseBody
//    public PostDTO postman6() {
//        PostDTO str = requestURLService.postForObjectParameter3();//
//        return str;//返回数据到页面上
//    }
//
//
//}
